--在这里实现代理登录
local json = require "cjson.safe"
local jwt = require "resty.jwt"
local http = require "resty.http"

json.encode_empty_table_as_object(false)
ngx.header.content_type = "application/json;charset=utf8"
--判断请求的url  进行不同的转发  http://www.cocoachina.com/articles/38792
-- 获取请求头中的 content-Length  跟据content length 的大小决定用seaweed 还是 后端站点来处理上传的文件

local httpc = http.new()
local res, err = httpc:request_uri("http://192.168.1.117:9333/dir/assign", {
    method = "GET",
    keepalive_timeout = 2000 -- 毫秒
})

if (not res) or (res.status == 502) then
    if not res then
        ngx.log(ngx.ERR, "请求出错#", err)
    else
        ngx.log(ngx.ERR, "请求出错 header status=502")
    end

else

    local json_data = json.decode(res.body)

    -- ngx.print("seaweed 返回的信息\r\n")
    -- ngx.print(res.body)

end

if res.status == 200
then
--     语法： ngx.req.set_uri(uri, jump?)
-- 通过参数uri重写当前请求的uri；参数jump，表明是否进行locations的重新匹配。当jump为true时，调用ngx.req.set_uri后，nginx将会根据修改后的uri，重新匹配新的locations；如果jump为false，将不会进行locations的重新匹配，而仅仅是修改了当前请求的URI而已。jump的默认值为false。
-- ————————————————
-- 版权声明：本文为CSDN博主「GoRustNeverStop」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
-- 原文链接：https://blog.csdn.net/weiyuefei/article/details/38434797
    ngx.req.set_uri("/",false)
    local temp = json.decode(res.body);
    -- ngx.print("post请求的地址是\r\n")
    -- ngx.log(ngx.ERR,"post请求的地址是\r\n")
    -- ngx.log(ngx.ERR, "http://192.168.1.117:8080/" .. temp.fid)
    --ngx.print(temp) 在这里print() 会对测试结果有影响
    -- ngx.print("post请求的地址是\r\n")
    ngx.var.target_url = "http://192.168.1.117:8080/" .. temp.fid
    -- ngx.var.target_url = "http://localhost:204/api/sobiz/login"

else
    -- 要找下中断请求的写法
    ngx.say(json.encode({test="服务器内部错误"}))
    return ngx.exit(ngx.HTTP_OK)
end
